package com.taotao.product.service.impl;


import com.taotao.product.domain.PmsSkuInfo;
import com.taotao.product.mapper.*;
import com.taotao.product.service.IPmsSkuInfoService;
import com.taotao.product.vo.CartItem;
import com.taotao.product.vo.SaleAttrVo;
import com.taotao.system.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * sku信息Service业务层处理
 *
 * @author ccy
 * @date 2024-01-16
 */
@Service
public class PmsSkuInfoServiceImpl implements IPmsSkuInfoService {
    @Autowired
    private PmsSkuInfoMapper pmsSkuInfoMapper;


    @Autowired
    private PmsSkuImagesMapper skuImagesMapper;


    @Autowired
    private PmsSpuInfoDescMapper spuInfoDescMapper;


    @Autowired
    private PmsSkuSaleAttrValueMapper skuSaleAttrValueMapper;


    @Autowired
    private PmsAttrGroupMapper attrGroupMapper;


    /**
     * 查询sku信息
     *
     * @param skuId sku信息主键
     * @return sku信息
     */
    @Override
    public PmsSkuInfo selectPmsSkuInfoBySkuId(Long skuId) {
        return pmsSkuInfoMapper.selectPmsSkuInfoBySkuId(skuId);
    }

    /**
     * 查询sku信息列表
     *
     * @param pmsSkuInfo sku信息
     * @return sku信息
     */
    @Override
    public List<PmsSkuInfo> selectPmsSkuInfoList(PmsSkuInfo pmsSkuInfo) {
        return pmsSkuInfoMapper.selectPmsSkuInfoList(pmsSkuInfo);
    }

    /**
     * 新增sku信息
     *
     * @param pmsSkuInfo sku信息
     * @return 结果
     */
    @Override
    public int insertPmsSkuInfo(PmsSkuInfo pmsSkuInfo) {
        return pmsSkuInfoMapper.insertPmsSkuInfo(pmsSkuInfo);
    }

    /**
     * 修改sku信息
     *
     * @param pmsSkuInfo sku信息
     * @return 结果
     */
    @Override
    public int updatePmsSkuInfo(PmsSkuInfo pmsSkuInfo) {
        return pmsSkuInfoMapper.updatePmsSkuInfo(pmsSkuInfo);
    }

    /**
     * 批量删除sku信息
     *
     * @param skuIds 需要删除的sku信息主键
     * @return 结果
     */
    @Override
    public int deletePmsSkuInfoBySkuIds(Long[] skuIds) {
        return pmsSkuInfoMapper.deletePmsSkuInfoBySkuIds(skuIds);
    }

    /**
     * 删除sku信息信息
     *
     * @param skuId sku信息主键
     * @return 结果
     */
    @Override
    public int deletePmsSkuInfoBySkuId(Long skuId) {
        return pmsSkuInfoMapper.deletePmsSkuInfoBySkuId(skuId);
    }

    @Override
    public List<SaleAttrVo> getSaleAttrsBySkuId(Long skuId) {
        return pmsSkuInfoMapper.getSaleAttrsBySkuId(skuId);
    }



    @Override
    public Long selectMerchantIdsBySkuIds(Long skuId) {
        return pmsSkuInfoMapper.selectMerchantIdsBySkuIds(skuId);
    }

}
